Generally, one of the strongest features of a computer system is its ability to accept the attachment of additional circuits and/or devices (commonly and generically referred to as peripherals). Such ability can greatly increase the flexibility and usability of the computer system. For example, the addition of a peripheral can increase the useful lifespan of the computer system.
When a peripheral is added to a computer system, the peripheral may be attached to the computer system in one (or more) of several ways. The peripheral may attach using a wired cable, a wireless connection, or an access port. Examples of a wired cable connection may be one of a variety of communications buses, such as a parallel or serial bus, an Universal Serial Bus (USB), a Small Computer System Interface (SCSI), an IEEE 1394 bus, optical fiber, etc. Wireless connections, on the other hand, maybe radio frequency (RF), optical, microwave, or any other method that can transmit data and information without needing a physical connection. Examples of a wireless connection may be an IEEE 802.11b (Wi-Fi), IEEE 802.11a, Bluetooth, HomeRF, etc. Alternatively, access ports can be a series of connections directly on a side of the computer system that the peripheral can attach to without the use of any additional wires or wireless links. Examples of access ports can be a PCCard slot, a Peripheral Component Interconnect (PCI), Advanced Graphic Port (AGP), etc.
When the peripheral is attached to the computer system via an interface that is already supported by the computer's operating system software, then there typically is no need for additional support software to be loaded into the computer system. This is due to the fact that the support is already built into the operating system.
When the peripheral is attached to the computer system via an interface that is not already supported by the computer's operating system software, then there is a need for additional support software to be loaded into the computer system. The support software provides the needed functionality to the computer's operating system software to provide support for the interface that is used to attach the peripheral. For example, if a wireless keyboard is designed to attach to the computer system wirelessly using a Bluetooth wireless connection, then, unless the computer's system has built-in support for Bluetooth wireless networks, support software must be loaded in order for the computer system's operating system to recognize the presence of the Bluetooth wireless network and the wireless keyboard.
One disadvantage of having to load additional support software into the computer system's operating system is that the addition of any software will inherently make the computer system more unstable. It is highly unlikely that the addition of a program will make the operation of a computer system more reliable.
A second disadvantage of the adding additional support software for each unsupported interface used in the computer system is that the computer system's operating system will continues to grow larger and larger, with each additional support program. As the operating system grows in size, the performance of the computer system will typically suffer. Also, the hardware infrastructure requirements of the operating system will increase, requiring a faster processor or more memory.